package core

import (
	"go.uber.org/zap"
	"time"
	"venus/util/zlog"
)

func (co *Core) RunMsg() {
	zlog.Info("RunMsg")

	for {
		co.SvTime = time.Now()
		time.Sleep(time.Millisecond * 10)

		select {
		case msg := <-co.MsgChan:
			co.ExecMsg(msg)
		default:
		}
	}
}

// ExecMsg 执行消息
func (co *Core) ExecMsg(msg *Msg) {
	fn, ok := co.MsgExecMap[msg.Type]
	if ok {
		fn(msg)
	} else {
		zlog.Warn("无效主消息：", zap.Int("msg.Type", int(msg.Type)))
	}
}
